From: Andrii Anisov Date: Wed, 8 May 2019 09:59:38 +0000 (+0300) Subject: xen:arm: we never get into schedule_tail() with prev==current X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~2232 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=5945b57b055abcab803d23974e95c3657ef597fb;p=xen.git xen:arm: we never get into schedule_tail() with prev==current ARM's schedule_tail() is called from two places: context_switch() and continue_new_vcpu(). Both functions are always called with prev!=current. So replace the correspondent check in schedule_tail() with ASSERT() which is the development (debug) build guard. Signed-off-by: Andrii Anisov Reviewed-by: Dario Faggioli Acked-by: Julien Grall --- diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index 915ae0b4c6..ff330b35e6 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -305,6 +305,8 @@ static void update_runstate_area(struct vcpu *v) static void schedule_tail(struct vcpu *prev) { + ASSERT(prev != current); + ctxt_switch_from(prev); ctxt_switch_to(current); @@ -313,8 +315,7 @@ static void schedule_tail(struct vcpu *prev) context_saved(prev); - if ( prev != current ) - update_runstate_area(current); + update_runstate_area(current); /* Ensure that the vcpu has an up-to-date time base. */ update_vcpu_system_time(current);